package cn.ekuma.odbo.mobile.category.base;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.DiffUtil;

import com.gitee.wsl.struct.category.CategoryItemWarp;

public  class CategoryItemWarpDiff extends DiffUtil.ItemCallback<CategoryItemWarp>{

    @Override
    public boolean areItemsTheSame(@NonNull CategoryItemWarp oldItem, @NonNull CategoryItemWarp newItem) {
        return oldItem.equals(newItem);
    }

    @Override
    public boolean areContentsTheSame(@NonNull CategoryItemWarp oldItem, @NonNull CategoryItemWarp newItem) {
        return oldItem.getSubItemList().size() == newItem.getSubItemList().size() && newItem.getSubItemList().containsAll(oldItem.getSubItemList());
    }

    @Nullable
    @Override
    public Object getChangePayload(@NonNull CategoryItemWarp oldItem, @NonNull CategoryItemWarp newItem) {
        return new CategoryItemTags(oldItem.isExpand());
    }

    public static class CategoryItemTags{
        public boolean showAll;

        public CategoryItemTags(boolean showAll) {
            this.showAll = showAll;
        }
    }
}
